草庐IT

Java:创建 GZIPInputStream 时出错:不是 GZIP 格式

全部标签

ruby - AMQP 动态创建订阅队列

我正在尝试使用AMQP、Websockets和Ruby构建一个简单的聊天应用程序。我知道这可能不是理解AMQP的最佳用例,但我想了解我哪里出错了。以下是我的amqp-server代码require'rubygems'require'amqp'require'mongo'require'em-websocket'require'json'classMessageParser#messageformat=>"room:harry_potter,nickname:siddharth,room:members"defself.parse(message)parsed_message=JSON.

ruby - 如何创建与帧缓冲区通信的 Ruby 应用程序?

我有一个RaspberryPiTFT7"触摸屏显示器,我想创建一个简单的应用程序来显示和输出系统数据(即CPU使用率、温度等)。我注意到目前常见的实现方法是使用pygame库输出到显示器连接到的帧缓冲区/dev/fb1。我想执行相同的操作,但使用Ruby,因为我更熟悉这门语言。有人可以为我指明正确的方向,让我知道如何开始吗?我查看了ruby​​game和gosu库,它们似乎能够做我想做的事情,即绘制屏幕,​​但我找不到任何关于如何将输出定向到的信息帧缓冲区本身。 最佳答案 rubycorelib有一个IO您应该能够使用该类将输出定向

ruby - 为 Rails 3 插件生成测试路由时出错?

我正在尝试为修改一些标准Rails助手的插件“foobar”开发测试。在vendor/plugins/foobar/test/foobar_test.rb中,我有以下内容:#createthetestmodelclassThing'index')}enddefdestroy@thing=Thing.find(params[:id])@thing.destroyformat.html{render(:file=>'index')}endend#confirmthatthetestenvironmentisworkingcorrectlyclassThingsTest[:index,:de

ruby-on-rails - 当我用 unicorn 启动我的 Rails 应用程序时出现奇怪的错误

当我尝试使用unicorn启动我的Rails应用程序时,我遇到了这个非常奇怪的错误。有人以前见过这个吗?[root@Web01mp_app]#unicorn_rails-cconfig/unicorn.rb-Eproduction-D-d{:daemonize=>true,:app=>#,:unicorn_options=>{:config_file=>"config/unicorn.rb",:listeners=>[]}}Exception`Errno::ENOENT'at/usr/local/lib/ruby/1.8/fileutils.rb:243-Nosuchfileordir

ruby-on-rails - wkhtmltopdf 试图从 http 而不是文件加载

这是一个奇怪的小问题,导致我在SO上发布了我的第一个问题。作为Rails应用程序的一部分,我正在使用wkhtmltopdf将HTML文档转换为PDF。为此,我将Rails网页呈现为临时目录中的静态HTML文件,将静态页眉、页脚和图像复制到同一临时目录,然后使用“系统”执行wkhtmltopdf。这在开发和测试环境中非常有效。在我的暂存环境中,它没有。起初我怀疑权限,但该过程的前几个部分(创建HTML静态文件并将它们复制到目录)正在运行。我可以从该临时目录中的命令行运行wkhtmltopdf并获得预期的结果。最后,我在暂存环境中通过Rails控制台通过“系统”和反引号运行wkhtmlto

ruby - Ruby 中不一致的隐式哈希创建?

好的,所以我将我自己的DSL中的一些东西与Ruby进行了比较。他们都支持的一个结构是这个x=["key"=>"value"]知道数组和散列的区别,我会认为这是不合法的,但是在Ruby中的结果是[{"key"=>"value"}]这是为什么?有了这种语法,你为什么不能这样做x=("key"=>"value")为什么数组是隐式创建的哈希的特例? 最佳答案 另一个特殊情况是在函数调用中,考虑:deff(x)puts"OK:#{x.inspect}"endf("foo"=>"bar")=>OK:{"foo"=>"bar"}因此在某些情况下,

ruby-on-rails - Ruby strftime '%Z' 方法返回 '0545' 而不是 'NPT'

将我的MacOS升级到最新版本后,Time#strftime方法出现了一些奇怪的问题。Time.now.in_time_zone("Kathmandu").strftime("%Z")#=>'+0545'Time.now.in_time_zone("Bangkok").strftime("%Z")#=>'+07'Time.now.in_time_zone("Nairobi").strftime("%Z")#=>'EAT'Time.now.in_time_zone("NewDelhi").strftime("%Z")#=>'IST'我当前的ruby​​版本是:ruby2.4.1p111(

ruby - RSpec 2 的 RCov 未正确检测覆盖范围? (不是 Rails!)

前言我刚刚开始接触Ruby,不仅尝试学习语言,还尝试学习一些开发策略。作为初学者,我专注于测试和行为驱动开发。(是的,我两者都做是为了比较)我正在使用的小型软件项目单元测试(TDD)cucumber(BDD)Rspec(TDD和BDD)在不同的地方,我遇到了RCov作为一种工具,它告诉我我实际测试了多少实际代码。我在我的Rakefile中设置了以下RakeTask,用于单元测试的协方差分析:desc"RunRCovtogetcoverageofUnitTests"Rcov::RcovTask.new(:rcov_units)do|t|t.pattern='tests/**/tc_*.r

ruby-on-rails - 如何读取 RSpec 中的 BigDecimal 格式?

运行我的RSpec测试后,我经常得到这样的输出:expected:50got:#我如何找出RSpec实际得到的数字?感谢您的帮助。 最佳答案 正如@jcm评论的那样,它是220。(=0.22*103)require'bigdecimal'BigDecimal.new(220)#=>#BigDecimal.new(220)==220#=>true 关于ruby-on-rails-如何读取RSpec中的BigDecimal格式?,我们在StackOverflow上找到一个类似的问题:

ruby - 为什么默认情况下 Ruby (2.0 +) 中的 Enumerators 不是惰性的?

为什么RubyEnumerator默认情况下不像Enumerator::Lazy那样?有没有人想要使用非惰性Enumerator的情况?已编辑:下面是对向后兼容性答案的评论,解释了为什么我还不相信:假设我们已将这些“重大”更改添加到Ruby2.0.0,这是一个主要版本,您将在进行切换之前彻底测试您的代码(特别是如果您要生产),不是吗?编辑#2我怀疑它与效率有关(如果有任何问题请告诉我),所以我做了以下基准测试:(当然有些地方惰性更好。这可能是为了证明为什么Ruby不是一直在使用lazy?)require'fruity'require'prime'comparedolazy{g=Prim